The Existential Crisis of Null Pointers

نویسندگان

  • Nada Amin
  • Ross Tate
چکیده

We present short programs that demonstrate the unsoundness of Java and Scala’s current type systems. In particular, these programs provide parametrically polymorphic functions that can turn any type into any type without (down)casting. Fortunately, parametric polymorphism was not integrated into the Java Virtual Machine (JVM), so these examples do not demonstrate any unsoundness of the JVM. Nonetheless, we discuss broader implications of these findings on the field of programming languages.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proceedings of the RESOLVE Workshop 2002

The "original" checked pointers component for C++ [Pike00] did a very good job of detecting many precondition violations for raw C++ pointers, including dereferencing a NULL or dangling pointer and deleting a dangling pointer. However, the syntax for invoking new and delete was slightly different than the standard syntax. These differences added extra confusion to student understanding of C++ p...

متن کامل

Verifying Time Bounds for General Function Pointers

We develop a logic of explicit time resource bounds for a language with function pointers and semantic assertions. We apply our logic to examples containing nontrivial “higher-order” uses of function pointers and we prove soundness with respect to a standard operational semantics. Our core technique is very compact and may be applicable to other resource bounding problems, and is the first appl...

متن کامل

Time Bounds for General Function Pointers

We develop a logic of explicit time resource bounds for a language with function pointers and semantic assertions. We apply our logic to examples containing nontrivial “higher-order” uses of function pointers and we prove soundness with respect to a standard operational semantics. Our core technique is very compact and may be applicable to other resource bounding problems, and is the first appl...

متن کامل

Old age from an existential-analytical perspective.

Aging confronts humans with specific existential issues. They frequently cause suffering in old age. Not dealing with or insufficiently dealing with these existential themes may result in crisis, psychological disorders, and illness. By integrating existential themes of aging into the understanding of one's own life, the process of aging contributes to personal maturity.

متن کامل

Null Values in Programming Languages

Even though many programming languages support a distinguished null or nil value for pointer or reference types to indicate that a pointer or reference currently does not refer to any object, none of these languages supports null values as a general concept for all types of the language. This inability to explicitly express a null or missing value raises several questions when defining the sema...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016